package com.onlyxiahui.framework.action.dispatcher.extend;

import org.springframework.core.MethodParameter;

import com.onlyxiahui.framework.action.dispatcher.ActionContext;

/**
 * Date 2019-01-12 09:00:21<br>
 * Description
 * 
 * @author XiaHui<br>
 * @since 1.0.0
 */

public interface MethodArgumentResolver {

	/**
	 * 
	 * 是否支持<br>
	 * Date 2020-06-01 10:34:23<br>
	 * 
	 * @param parameter
	 * @return
	 * @since 1.0.0
	 */
	public boolean supportsParameter(MethodParameter parameter);

	/**
	 * 
	 * 解析参数<br>
	 * Date 2020-06-01 10:34:37<br>
	 * 
	 * @param actionContext
	 * @param parameter
	 * @param request
	 * @param response
	 * @param argumentBox
	 * @return
	 * @since 1.0.0
	 */
	public Object resolveArgument(ActionContext actionContext, MethodParameter parameter, ActionRequest request, ActionResponse response, ArgumentBox argumentBox);
}
